<!-- HTML header for doxygen 1.8.20-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=9"/>
	<meta name="generator" content="Doxygen 1.9.4"/>
	<meta name="viewport" content="width=device-width, initial-scale=1"/>
	<title>Raspberry Pi Pico SDK: API Documentation</title>
	<!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="dynsections.js"></script>
	<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
	<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
	<link href="doxygen.css" rel="stylesheet" type="text/css" />
	<link href="normalise.css" rel="stylesheet" type="text/css"/>
<link href="main.css" rel="stylesheet" type="text/css"/>
<link href="styles.css" rel="stylesheet" type="text/css"/>
</head>
<body>
	<div class="navigation-mobile">
		<div class="logo--mobile">
			<a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
		</div>
		<div class="navigation-toggle">
			<span class="line-1"></span>
			<span class="line-2">
				<p>Menu Toggle</p>
			</span>
			<span class="line-3"></span>
		</div>
	</div>
	<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
		<div class="logo">
			<a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
			<span style="display: inline-block; margin-top: 10px;">
				v2.1.0
			</span>
		</div>
		<div class="navigation-footer">
			<img src="logo-mobile.svg" alt="Raspberry Pi">
			<a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
		</div>
<!-- 		<div class="search">
			<form>
				<input type="search" name="search" id="search" placeholder="Search">
				<input type="submit" value="Search">
			</form>
		</div> -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('modules.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle"><div class="title">API Documentation</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">These are the libraries supplied in the Raspberry Pi Pico SDK</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><a class="el" href="group__hardware.html" target="_self">Hardware APIs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__adc.html" target="_self">hardware_adc</a></td><td class="desc">Analog to Digital Converter (ADC) API </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__base.html" target="_self">hardware_base</a></td><td class="desc">Low-level types and (atomic) accessors for memory-mapped hardware registers </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__claim.html" target="_self">hardware_claim</a></td><td class="desc">Lightweight hardware resource management API </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__clocks.html" target="_self">hardware_clocks</a></td><td class="desc">Clock Management API </td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__divider.html" target="_self">hardware_divider</a></td><td class="desc">RP2040 Low Low-level hardware-divider API. Non-RP2040 platforms provide software versions of all the functions </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__dcp.html" target="_self">hardware_dcp</a></td><td class="desc">Assembly macros for the Double Coprocessor </td></tr>
<tr id="row_0_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_6_" class="arrow" onclick="toggleFolder('0_6_')">&#9658;</span><a class="el" href="group__hardware__dma.html" target="_self">hardware_dma</a></td><td class="desc">DMA Controller API </td></tr>
<tr id="row_0_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__channel__config.html" target="_self">channel_config</a></td><td class="desc">DMA channel configuration </td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__exception.html" target="_self">hardware_exception</a></td><td class="desc">Methods for setting processor exception handlers </td></tr>
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__flash.html" target="_self">hardware_flash</a></td><td class="desc">Low level flash programming and erase API </td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__gpio.html" target="_self">hardware_gpio</a></td><td class="desc">General Purpose Input/Output (GPIO) API </td></tr>
<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__hazard3.html" target="_self">hardware_hazard3</a></td><td class="desc">Accessors for Hazard3-specific RISC-V CSRs, and intrinsics for Hazard3 custom instructions </td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__i2c.html" target="_self">hardware_i2c</a></td><td class="desc">I2C Controller API </td></tr>
<tr id="row_0_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_12_" class="arrow" onclick="toggleFolder('0_12_')">&#9658;</span><a class="el" href="group__hardware__interp.html" target="_self">hardware_interp</a></td><td class="desc">Hardware Interpolator API </td></tr>
<tr id="row_0_12_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__interp__config.html" target="_self">interp_config</a></td><td class="desc">Interpolator configuration </td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__irq.html" target="_self">hardware_irq</a></td><td class="desc">Hardware interrupt handling API </td></tr>
<tr id="row_0_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_14_" class="arrow" onclick="toggleFolder('0_14_')">&#9658;</span><a class="el" href="group__hardware__pio.html" target="_self">hardware_pio</a></td><td class="desc">Programmable I/O (PIO) API </td></tr>
<tr id="row_0_14_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__sm__config.html" target="_self">sm_config</a></td><td class="desc">PIO state machine configuration </td></tr>
<tr id="row_0_14_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pio__instructions.html" target="_self">pio_instructions</a></td><td class="desc">PIO instruction encoding </td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__pll.html" target="_self">hardware_pll</a></td><td class="desc">Phase Locked Loop control APIs </td></tr>
<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__powman.html" target="_self">hardware_powman</a></td><td class="desc">Power Management API </td></tr>
<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__pwm.html" target="_self">hardware_pwm</a></td><td class="desc">Hardware Pulse Width Modulation (PWM) API </td></tr>
<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__resets.html" target="_self">hardware_resets</a></td><td class="desc">Hardware Reset API </td></tr>
<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__riscv.html" target="_self">hardware_riscv</a></td><td class="desc">Accessors for standard RISC-V hardware (mainly CSRs) </td></tr>
<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__riscv__platform__timer.html" target="_self">hardware_riscv_platform_timer</a></td><td class="desc">Accessors for standard RISC-V platform timer (mtime/mtimecmp), available on Raspberry Pi microcontrollers with RISC-V processors </td></tr>
<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__rtc.html" target="_self">hardware_rtc</a></td><td class="desc">Hardware Real Time Clock API </td></tr>
<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__rcp.html" target="_self">hardware_rcp</a></td><td class="desc">Inline functions and assembly macros for the Redundancy Coprocessor </td></tr>
<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__spi.html" target="_self">hardware_spi</a></td><td class="desc">Hardware SPI API </td></tr>
<tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__sha256.html" target="_self">hardware_sha256</a></td><td class="desc">Hardware SHA-256 Accelerator API </td></tr>
<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__sync.html" target="_self">hardware_sync</a></td><td class="desc">Low level hardware spin locks, barrier and processor event APIs </td></tr>
<tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__ticks.html" target="_self">hardware_ticks</a></td><td class="desc">Hardware Tick API </td></tr>
<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__timer.html" target="_self">hardware_timer</a></td><td class="desc">Low-level hardware timer API </td></tr>
<tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__uart.html" target="_self">hardware_uart</a></td><td class="desc">Hardware UART API </td></tr>
<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__vreg.html" target="_self">hardware_vreg</a></td><td class="desc">Voltage Regulation API </td></tr>
<tr id="row_0_30_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__watchdog.html" target="_self">hardware_watchdog</a></td><td class="desc">Hardware Watchdog Timer API </td></tr>
<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__xip__cache.html" target="_self">hardware_xip_cache</a></td><td class="desc">Low-level cache maintenance operations for the XIP cache </td></tr>
<tr id="row_0_32_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__hardware__xosc.html" target="_self">hardware_xosc</a></td><td class="desc">Crystal Oscillator (XOSC) API </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><a class="el" href="group__high__level.html" target="_self">High Level APIs</a></td><td class="desc"></td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__aon__timer.html" target="_self">pico_aon_timer</a></td><td class="desc">High Level "Always on Timer" Abstraction </td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9658;</span><a class="el" href="group__pico__async__context.html" target="_self">pico_async_context</a></td><td class="desc">An <a class="el" href="structasync__context.html">async_context</a> provides a logically single-threaded context for performing work, and responding to asynchronous events. Thus an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> instance is suitable for servicing third-party libraries that are not re-entrant </td></tr>
<tr id="row_1_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__async__context__freertos.html" target="_self">async_context_freertos</a></td><td class="desc">Async_context_freertos provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that handles asynchronous work in a separate FreeRTOS task </td></tr>
<tr id="row_1_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__async__context__poll.html" target="_self">async_context_poll</a></td><td class="desc">Async_context_poll provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that is intended for use with a simple polling loop on one core. It is not thread safe </td></tr>
<tr id="row_1_1_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__async__context__threadsafe__background.html" target="_self">async_context_threadsafe_background</a></td><td class="desc">Async_context_threadsafe_background provides an implementation of <a class="el" href="structasync__context.html">async_context</a> that handles asynchronous work in a low priority IRQ, and there is no need for the user to poll for work </td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__bootsel__via__double__reset.html" target="_self">pico_bootsel_via_double_reset</a></td><td class="desc">Optional support to make fast double reset of the system enter BOOTSEL mode </td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__flash.html" target="_self">pico_flash</a></td><td class="desc">High level flash API </td></tr>
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__i2c__slave.html" target="_self">pico_i2c_slave</a></td><td class="desc">Functions providing an interrupt driven I2C slave interface </td></tr>
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_5_" class="arrow" onclick="toggleFolder('1_5_')">&#9658;</span><a class="el" href="group__pico__multicore.html" target="_self">pico_multicore</a></td><td class="desc">Adds support for running code on, and interacting with the second processor core (core 1) </td></tr>
<tr id="row_1_5_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__multicore__fifo.html" target="_self">fifo</a></td><td class="desc">Functions for the inter-core FIFOs </td></tr>
<tr id="row_1_5_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__multicore__doorbell.html" target="_self">doorbell</a></td><td class="desc">Functions related to doorbells which a core can use to raise IRQs on itself or the other core </td></tr>
<tr id="row_1_5_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__multicore__lockout.html" target="_self">lockout</a></td><td class="desc">Functions to enable one core to force the other core to pause execution in a known state </td></tr>
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__rand.html" target="_self">pico_rand</a></td><td class="desc">Random Number Generator API </td></tr>
<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__sha256.html" target="_self">pico_sha256</a></td><td class="desc">SHA-256 Hardware Accelerated implementation </td></tr>
<tr id="row_1_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__stdlib.html" target="_self">pico_stdlib</a></td><td class="desc">Aggregation of a core subset of Raspberry Pi Pico SDK libraries used by most executables along with some additional utility methods </td></tr>
<tr id="row_1_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_9_" class="arrow" onclick="toggleFolder('1_9_')">&#9658;</span><a class="el" href="group__pico__sync.html" target="_self">pico_sync</a></td><td class="desc">Synchronization primitives and mutual exclusion </td></tr>
<tr id="row_1_9_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__critical__section.html" target="_self">critical_section</a></td><td class="desc">Critical Section API for short-lived mutual exclusion safe for IRQ and multi-core </td></tr>
<tr id="row_1_9_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__lock__core.html" target="_self">lock_core</a></td><td class="desc">Base synchronization/lock primitive support </td></tr>
<tr id="row_1_9_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__mutex.html" target="_self">mutex</a></td><td class="desc">Mutex API for non IRQ mutual exclusion between cores </td></tr>
<tr id="row_1_9_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__sem.html" target="_self">sem</a></td><td class="desc">Semaphore API for restricting access to a resource </td></tr>
<tr id="row_1_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_10_" class="arrow" onclick="toggleFolder('1_10_')">&#9658;</span><a class="el" href="group__pico__time.html" target="_self">pico_time</a></td><td class="desc">API for accurate timestamps, sleeping, and time based callbacks </td></tr>
<tr id="row_1_10_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__timestamp.html" target="_self">timestamp</a></td><td class="desc">Timestamp functions relating to points in time (including the current time) </td></tr>
<tr id="row_1_10_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__sleep.html" target="_self">sleep</a></td><td class="desc">Sleep functions for delaying execution in a lower power state </td></tr>
<tr id="row_1_10_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__alarm.html" target="_self">alarm</a></td><td class="desc">Alarm functions for scheduling future execution </td></tr>
<tr id="row_1_10_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__repeating__timer.html" target="_self">repeating_timer</a></td><td class="desc">Repeating Timer functions for simple scheduling of repeated execution </td></tr>
<tr id="row_1_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__unique__id.html" target="_self">pico_unique_id</a></td><td class="desc">Unique device ID access API </td></tr>
<tr id="row_1_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_12_" class="arrow" onclick="toggleFolder('1_12_')">&#9658;</span><a class="el" href="group__pico__util.html" target="_self">pico_util</a></td><td class="desc">Useful data structures and utility functions </td></tr>
<tr id="row_1_12_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__util__datetime.html" target="_self">datetime</a></td><td class="desc">Date/Time formatting </td></tr>
<tr id="row_1_12_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__util__pheap.html" target="_self">pheap</a></td><td class="desc">Pairing Heap Implementation </td></tr>
<tr id="row_1_12_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__queue.html" target="_self">queue</a></td><td class="desc">Multi-core and IRQ safe queue implementation </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><a class="el" href="group__third__party.html" target="_self">Third-party Libraries</a></td><td class="desc"></td></tr>
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__tinyusb__device.html" target="_self">tinyusb_device</a></td><td class="desc"><a href="https://github.com/hathach/tinyusb">TinyUSB</a> Device-mode support for the RP2040. The TinyUSB documentation site can be found <a href="https://docs.tinyusb.org/en/latest/">here</a> </td></tr>
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__tinyusb__host.html" target="_self">tinyusb_host</a></td><td class="desc"><a href="https://github.com/hathach/tinyusb">TinyUSB</a> Host-mode support for the RP2040 </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><a class="el" href="group__networking.html" target="_self">Networking Libraries</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__btstack.html" target="_self">pico_btstack</a></td><td class="desc">Integration/wrapper libraries for <a href="https://github.com/bluekitchen/btstack">BTstack</a> the documentation for which is <a href="https://bluekitchen-gmbh.com/btstack/">here</a> </td></tr>
<tr id="row_3_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_1_" class="arrow" onclick="toggleFolder('3_1_')">&#9658;</span><a class="el" href="group__pico__lwip.html" target="_self">pico_lwip</a></td><td class="desc">Integration/wrapper libraries for <a href="https://savannah.nongnu.org/projects/lwip/lwIP">lwIP</a> the documentation for which is <a href="https://www.nongnu.org/lwip/2_1_x/index.html">here</a> </td></tr>
<tr id="row_3_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__lwip__arch.html" target="_self">pico_lwip_arch</a></td><td class="desc">LwIP compiler adapters. This is not included by default in <code><b>pico_lwip</b> in</code> case you wish to implement your own </td></tr>
<tr id="row_3_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__lwip__freertos.html" target="_self">pico_lwip_freertos</a></td><td class="desc">Glue library for integration lwIP in <code>NO_SYS=0</code> mode with the SDK </td></tr>
<tr id="row_3_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__lwip__nosys.html" target="_self">pico_lwip_nosys</a></td><td class="desc">Glue library for integration lwIP in <code>NO_SYS=1</code> mode with the SDK </td></tr>
<tr id="row_3_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_2_" class="arrow" onclick="toggleFolder('3_2_')">&#9658;</span><a class="el" href="group__pico__cyw43__driver.html" target="_self">pico_cyw43_driver</a></td><td class="desc">A wrapper around the lower level cyw43_driver, that integrates it with <a class="el" href="group__pico__async__context.html">pico_async_context</a> for handling background work </td></tr>
<tr id="row_3_2_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__btstack__cyw43.html" target="_self">pico_btstack_cyw43</a></td><td class="desc">Low-level Bluetooth HCI support </td></tr>
<tr id="row_3_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_3_" class="arrow" onclick="toggleFolder('3_3_')">&#9658;</span><a class="el" href="group__pico__cyw43__arch.html" target="_self">pico_cyw43_arch</a></td><td class="desc">Architecture for integrating the CYW43 driver (for the wireless on Pico W) and lwIP (for TCP/IP stack) into the SDK. It is also necessary for accessing the on-board LED on Pico W </td></tr>
<tr id="row_3_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_3_3_0_" class="arrow" onclick="toggleFolder('3_3_0_')">&#9658;</span><a class="el" href="group__cyw43__driver.html" target="_self">cyw43_driver</a></td><td class="desc">Driver used for Pico W wireless </td></tr>
<tr id="row_3_3_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a class="el" href="group__cyw43__ll.html" target="_self">cyw43_ll</a></td><td class="desc">Low Level CYW43 driver interface </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><a class="el" href="group__runtime.html" target="_self">Runtime Infrastructure</a></td><td class="desc"></td></tr>
<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__boot__stage2.html" target="_self">boot_stage2</a></td><td class="desc">Second stage boot loaders responsible for setting up external flash </td></tr>
<tr id="row_4_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__atomic.html" target="_self">pico_atomic</a></td><td class="desc">Helper implementations for C11 atomics </td></tr>
<tr id="row_4_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__base.html" target="_self">pico_base</a></td><td class="desc">Core types and macros for the Raspberry Pi Pico SDK </td></tr>
<tr id="row_4_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__binary__info.html" target="_self">pico_binary_info</a></td><td class="desc">Binary info is intended for embedding machine readable information with the binary in FLASH </td></tr>
<tr id="row_4_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__bootrom.html" target="_self">pico_bootrom</a></td><td class="desc">Access to functions and data in the bootrom </td></tr>
<tr id="row_4_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__bit__ops.html" target="_self">pico_bit_ops</a></td><td class="desc">Optimized bit manipulation functions </td></tr>
<tr id="row_4_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__cxx__options.html" target="_self">pico_cxx_options</a></td><td class="desc">Non-code library controlling C++ related compile options </td></tr>
<tr id="row_4_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__clib__interface.html" target="_self">pico_clib_interface</a></td><td class="desc">Provides the necessary glue code required by the particular C/C++ runtime being used </td></tr>
<tr id="row_4_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__crt0.html" target="_self">pico_crt0</a></td><td class="desc">Provides the default linker scripts and the program entry/exit point </td></tr>
<tr id="row_4_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__divider.html" target="_self">pico_divider</a></td><td class="desc">Optimized 32 and 64 bit division functions accelerated by the RP2040 hardware divider </td></tr>
<tr id="row_4_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__double.html" target="_self">pico_double</a></td><td class="desc">Optimized double-precision floating point functions </td></tr>
<tr id="row_4_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__float.html" target="_self">pico_float</a></td><td class="desc">Optimized single-precision floating point functions </td></tr>
<tr id="row_4_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__int64__ops.html" target="_self">pico_int64_ops</a></td><td class="desc">Optimized replacement implementations of the compiler built-in 64 bit multiplication </td></tr>
<tr id="row_4_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__malloc.html" target="_self">pico_malloc</a></td><td class="desc">Multi-core safety for malloc, calloc and free </td></tr>
<tr id="row_4_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__mem__ops.html" target="_self">pico_mem_ops</a></td><td class="desc">Provides optimized replacement implementations of the compiler built-in memcpy, memset and related functions </td></tr>
<tr id="row_4_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__platform.html" target="_self">pico_platform</a></td><td class="desc">Macros and definitions (and functions when included by non assembly code) for the RP2 family device / architecture to provide a common abstraction over low level compiler / platform specifics </td></tr>
<tr id="row_4_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__printf.html" target="_self">pico_printf</a></td><td class="desc">Compact replacement for printf by Marco Paland (<a href="#" onclick="location.href='mai'+'lto:'+'inf'+'o@'+'pal'+'an'+'d.c'+'om'; return false;">info@<span class="obfuscator">.nosp@m.</span>pala<span class="obfuscator">.nosp@m.</span>nd.co<span class="obfuscator">.nosp@m.</span>m</a>) </td></tr>
<tr id="row_4_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__runtime.html" target="_self">pico_runtime</a></td><td class="desc">Basic runtime support for running pre-main initializers provided by other libraries </td></tr>
<tr id="row_4_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__runtime__init.html" target="_self">pico_runtime_init</a></td><td class="desc">Main runtime initialization functions required to set up the runtime environment before entering main </td></tr>
<tr id="row_4_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_4_19_" class="arrow" onclick="toggleFolder('4_19_')">&#9658;</span><a class="el" href="group__pico__stdio.html" target="_self">pico_stdio</a></td><td class="desc">Customized stdio support allowing for input and output from UART, USB, semi-hosting etc </td></tr>
<tr id="row_4_19_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__stdio__semihosting.html" target="_self">pico_stdio_semihosting</a></td><td class="desc">Experimental support for stdout using RAM semihosting </td></tr>
<tr id="row_4_19_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__stdio__uart.html" target="_self">pico_stdio_uart</a></td><td class="desc">Support for stdin/stdout using UART </td></tr>
<tr id="row_4_19_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__stdio__rtt.html" target="_self">pico_stdio_rtt</a></td><td class="desc">Support for stdin/stdout using SEGGER RTT </td></tr>
<tr id="row_4_19_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__pico__stdio__usb.html" target="_self">pico_stdio_usb</a></td><td class="desc">Support for stdin/stdout over USB serial (CDC) </td></tr>
<tr id="row_4_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__standard__binary__info.html" target="_self">pico_standard_binary_info</a></td><td class="desc">Includes default information about the binary that can be displayed by picotool </td></tr>
<tr id="row_4_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__standard__link.html" target="_self">pico_standard_link</a></td><td class="desc">Setup for link options for a standard SDK executable </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><a class="el" href="group__misc.html" target="_self">External API Headers</a></td><td class="desc"></td></tr>
<tr id="row_5_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__boot__picobin__headers.html" target="_self">boot_picobin_headers</a></td><td class="desc">Constants for PICOBIN format </td></tr>
<tr id="row_5_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__boot__picoboot__headers.html" target="_self">boot_picoboot_headers</a></td><td class="desc">Header file for the PICOBOOT USB interface exposed by an RP2xxx chip in BOOTSEL mode </td></tr>
<tr id="row_5_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__boot__uf2__headers.html" target="_self">boot_uf2_headers</a></td><td class="desc">Header file for the UF2 format supported by a RP2xxx chip in BOOTSEL mode </td></tr>
<tr id="row_5_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__pico__usb__reset__interface__headers.html" target="_self">pico_usb_reset_interface_headers</a></td><td class="desc">Definition for the reset interface that may be exposed by the pico_stdio_usb library </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->

	<script src="main.js"></script>
</body>
</html>